/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mvc.dao;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.LinkedList;
import mvc.modelos.Aspirante;


/**
 *
 * @author pezcado
 */
public class AspiranteDAO implements IDAO<Aspirante> {

    private PreparedStatement consultar;
    private PreparedStatement insertar;
    private PreparedStatement modificar;
    private PreparedStatement eliminar;
    private PreparedStatement listar;
    private Model model;

    public Aspirante consultar(int codigo) throws SQLException {
        model= Model.getInstance();
        String sql="select identificacion, codigo, tipoAspirante from Aspirante where identificacion="+codigo;
        consultar=model.getCon().prepareStatement(sql);
        ResultSet resultSet= consultar.executeQuery();
        Aspirante aspirante= new Aspirante();
        try{
            resultSet.next();

            aspirante.setIdentificacion(resultSet.getInt("identificacion"));
//            aspirante.setTipoId(resultSet.getString("tipoId"));
//            aspirante.setNombre(resultSet.getString("nombre"));
//            aspirante.setApellido(resultSet.getString("apellido"));
//            aspirante.setTelefono(resultSet.getString("telefono"));
//            aspirante.setCorreo(resultSet.getString("correo"));
//            aspirante.setDireccion(resultSet.getString("direccion"));
//            aspirante.setTipoDePersona(resultSet.getString("TipoDePersona"));
//            aspirante.setId(resultSet.getInt("id"));
//            aspirante.setEstado(resultSet.getString("estado"));
//            aspirante.setDescripcion(resultSet.getString("descripcion"));
//            
            aspirante.setCodigo(resultSet.getInt("codigo"));
            aspirante.setTipoAspirante(resultSet.getString("tipoAspirante"));
            
            //return aspirante;
        }catch(Exception e){

        }
        return aspirante;
    }

    public void insertar(Aspirante IDAO) throws SQLException {
        model= Model.getInstance();
        if(insertar==null){
            String sql="insert into Aspirante values(?,?,?)";
            insertar= model.getCon().prepareStatement(sql);
        }
        
        insertar.setInt(1, IDAO.getIdentificacion());
//        insertar.setString(2, IDAO.getTipoId());
//        insertar.setString(3, IDAO.getNombre());
//        insertar.setString(4, IDAO.getApellido());
//        insertar.setString(5, IDAO.getTelefono());
//        insertar.setString(6, IDAO.getCorreo());
//        insertar.setString(7, IDAO.getDireccion());
//        insertar.setString(8, IDAO.getTipoDePersona());
//        insertar.setInt(10, IDAO.getId());
//        insertar.setString(11, IDAO.getEstado());
//        insertar.setString(12, IDAO.getDescripcion());
//        
        insertar.setInt(2, IDAO.getCodigo());
        insertar.setString(3, IDAO.getTipoAspirante());
        
        insertar.executeUpdate();
    }

    public void modificar(Aspirante IDAO) throws SQLException {
        model= Model.getInstance();
        String sql="update Aspirante set"
                //+ "tipoId='"+IDAO.getTipoId()+"',"
                //+ "nombre='"+IDAO.getNombre()+"',"
                //+ "apellido='"+IDAO.getApellido()+"',"
                //+ "telefono='"+IDAO.getTelefono()+"',"
                //+ "correo='"+IDAO.getCorreo()+"',"
                //+ "direccion='"+IDAO.getDireccion()+"',"
                //+ "tipoPersona='"+IDAO.getTipoDePersona()+"',"
                //+ "id='"+IDAO.getId()+"',"
                //+ "estado='"+IDAO.getEstado()+"',"
                //+ "descripcion='"+IDAO.getDescripcion()+"',"
                
                + "codigo='"+IDAO.getCodigo()+"',"
                + "tipoAspirante='"+IDAO.getTipoAspirante()+"',"
                //+ "id='"+IDAO.getIdAspirante()+"',"
                //+ "estado='"+IDAO.getEstadoAspirante()+"',"
                //+ "descripcion='"+IDAO.getDescripcionAspirante()+","
                + "where identificacion="+IDAO.getIdentificacion();

        modificar=model.getCon().prepareStatement(sql);
        modificar.executeUpdate();
    }
    public void eliminar(Aspirante IDAO) throws SQLException {
        model= Model.getInstance();
        String sql="delete from Aspirante where identificacion="+IDAO.getIdentificacion();
        eliminar=model.getCon().prepareStatement(sql);
        eliminar.executeUpdate();
    }

    public LinkedList<Aspirante> listar() throws SQLException {
        throw new UnsupportedOperationException("Not supported yet.");
    }
    
}
